#iChannel0 "https://s2.loli.net/2023/09/10/QozT59R6KsYmb3q.jpg"

highp float random(vec2 co)
{
    highp float a=12.9898;
    highp float b=78.233;
    highp float c=43758.5453;
    highp float dt=dot(co.xy,vec2(a,b));
    highp float sn=mod(dt,3.14);
    return fract(sin(sn)*c);
}

vec2 bulge(vec2 p){
    // 定义中心
    //vec2 center = vec2(.5);
    vec2 center = iMouse.xy / iResolution.xy;
    p -= center;

    float radius = .9;
    float strength = 1.1;

    float d = length(p);
    d /= radius;
    float dPow = pow(d, 2.0);
    float dRev = strength / (dPow + 1.);
    //p *= d;
    //p *= dPow;
    p *= dRev;
    p += center;
    return p;
}


void mainImage(out vec4 fragColor,in vec2 fragCoord){
    vec2 uv=fragCoord/iResolution.xy;
    uv = bulge(uv);

    vec3 tex=texture(iChannel0,uv).xyz;

    fragColor= vec4(tex, 1.0);
}